home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / cgraphix / cpolyax.c < prev    next >
Text File  |  1986-05-28  |  905b  |  60 lines

  1. /* «RM120»«PL99999»«TS4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76» */
  2. #include    <stdio.h>
  3. #define    EXTERN    extern
  4. #include    <typedef.h>
  5.  
  6. #define PI    3.14158928
  7.  
  8. extern double    sin();
  9.  
  10.  
  11. void GenerateFunction(a,b,n)
  12. double    *a, *b;
  13. int        n;
  14. {
  15.     int        i;
  16.     double    delta;
  17.  
  18.     delta = 2*PI/(n-1);
  19.     for (i = 0; i < n; i++) {
  20.         a[2 * i] = i*delta-PI;
  21.         a[2 * i + 1] = sin(a[i* 2]);
  22.     }
  23. }
  24.  
  25. void PolygonDem()
  26. {
  27.     int        n;
  28.     PlotArray b,a;
  29.     char    ch;
  30.     int        x1,x2;
  31.  
  32.  
  33.     ClearScreen();
  34.  
  35.     n = 30;
  36.     GenerateFunction(a,b,n);
  37.  
  38.     DefineWindow(1,0,0,XMaxGlb,YMaxGlb);
  39.     DefineHeader(1,"SINE CURVE AS A POLYGON");
  40.     DefineWorld(1, -PI, -1., PI, 1.);
  41.     SelectWorld(1);
  42.     SelectWindow(1);
  43.     SetBackground(0);
  44.     SetHeaderOn();
  45.     DrawBorder();
  46.  
  47.     DrawAxis(8,-8,0,0,0,0,0,0,FALSE);
  48.     DrawPolygon(a,1-1,n-1,0,0,0);
  49. }
  50.  
  51.  
  52. main()
  53. {
  54.     InitGraphic();
  55.     PolygonDem();
  56.     inkey();
  57.     LeaveGraphic();
  58. }
  59.  
  60.